home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 351-375 / disk_360 / uucp / uucp0.lzh / src / util / man.c < prev    next >
C/C++ Source or Header  |  1990-04-04  |  1KB  |  65 lines

  1.  
  2. /*
  3.  *  MAN.C
  4.  *
  5.  *  $Header: Beta:src/uucp/src/MUtil/RCS/man.c,v 1.3 90/04/03 20:44:52 dillon Exp Locker: dillon $
  6.  *
  7.  *  MAN <topic>
  8.  *
  9.  *  searches for UUMAN:topic or UUMAN:topic.Doc
  10.  */
  11.  
  12. #include <stdio.h>
  13. #include <stdlib.h>
  14. #include "version.h"
  15.  
  16. IDENT(".00");
  17.  
  18. void
  19. main(ac, av)
  20. char *av[];
  21. {
  22.     short i;
  23.     static char Buf[256];
  24.  
  25.     for (i = 1; i < ac; ++i) {
  26.     char *topic = av[i];
  27.  
  28.     if (Man(topic) == 0) {
  29.         char *manDir = MakeConfigPath(UUMAN, "");
  30.         sprintf(Buf, "%s%s.Doc", manDir, topic);
  31.         if (Man(Buf) == 0) {
  32.         sprintf(Buf, "%s%s", manDir, topic);
  33.         if (Man(Buf) == 0)
  34.             printf("Unable to open %s[.Doc]\n", Buf);
  35.         }
  36.     }
  37.     }
  38. }
  39.  
  40. Man(file)
  41. char *file;
  42. {
  43.     FILE *fi = fopen(file, "r");
  44.     char *filter = FindConfig(RFILTER);
  45.     short rb = 1;
  46.     static char Cmd[256];
  47.  
  48.     if (fi == NULL)
  49.     return(0);
  50.     if (filter == NULL) {
  51.     if ((filter = FindConfig(FILTER)) == NULL) {
  52.         printf("UULIB:Config, no 'Filter' entry\n");
  53.         return(0);
  54.     }
  55.     rb = 0;
  56.     }
  57.     fclose(fi);
  58.     if (rb)
  59.     sprintf(Cmd, "Run >nil: <nil: %s %s", filter, file);
  60.     else
  61.     sprintf(Cmd, "%s %s", filter, file);
  62.     Execute(Cmd, NULL, NULL);
  63. }
  64.  
  65.